package cn.lg.soar.activiti.service;

import cn.lg.soar.activiti.dto.CommentDto;
import cn.lg.soar.activiti.dto.TaskDTO;
import cn.lg.soar.activiti.vo.HistoryTaskQO;
import cn.lg.soar.activiti.vo.HistoryTaskVO;
import cn.lg.soar.activiti.vo.TaskQO;
import cn.lg.soar.activiti.vo.TaskVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.io.InputStream;
import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * @author luguoxiang
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface ActTaskService {

	/**
	 * 待办
	 * @return
	 */
	IPage<TaskVO> todo(TaskQO qo, Collection<String> candidates);

	/**
	 * 已办
	 * @return
	 */
	IPage<HistoryTaskVO> done(HistoryTaskQO qo);

	/**
	 * 获取用户代办列表
	 * @param params
	 * @param name
	 * @return
	 */
	IPage getTaskByName(Map<String, Object> params, String name);

	/**
	 * 通过任务ID 查询批注信息
	 * @param taskId 任务ID
	 * @return
	 */
	List<CommentDto> getCommentByTaskId(String taskId);

	/**
	 * 追踪图片节点
	 * @param id
	 * @return
	 */
	InputStream viewByTaskId(String id);

	/**
	 * 批量删除
	 * @param ids
	 * @return
	 */
	void delTasks(String[] ids);

	List<TaskDTO> list(TaskDTO taskDTO);

}
